Плохо! Плохо!:  0
Показано с 1 по 1 из 1

Тема: [MV + MZ]DKR_DisorientingScreen

  1. #1
    Бывалый Аватар для Darchan Kaen
    Информация о пользователе
    Регистрация
    17.06.2013
    Адрес
    Одесса
    Сообщений
    851
    Записей в дневнике
    3
    Репутация: 47 Добавить или отнять репутацию

    По умолчанию [MV + MZ]DKR_DisorientingScreen

    Название плагина: DKR_PuzzleMouse
    Автор: DarchanKaen
    Версия: 1.0.0
    Дата выхода: 23.05.2021
    Описание плагина:
    Плагин позволяет инвертировать ("перевернуть") отображение экрана и, соответственно, управление.
    Обратите внимание, после инвертирования текст Сообщениях, Выборе и Бое отображается некорректно!
    Для корректного отображение - нормализируйте отображение экрана соответствующей командой.

    Перед нормализацией отображения будет краткое затемнение экрана.

    Возможно, в дальнейшем будет найдено решение проблемы текста - тогда плагин будет обновлен.

    Использование плагина:

    Одинаково и для MV , и для MZ (в эвенте, в команде "Скрипт")!

    - Инвертирование ("поворот") отображения экрана:
    DKR.DisorientingScreen.disorientAxisX(); - инвертирует отображение по оси X.
    DKR.DisorientingScreen.disorientAxisY(); - инвертирует отображение по оси Y.
    DKR.DisorientingScreen.disorientAxisXY(); - инвертирует отображение по осям X и Y одновременно.
    - Нормализация отображения экрана:
    DKR.DisorientingScreen.normalizeAxisX(); - нормализирует отображение по оси X.
    DKR.DisorientingScreen.normalizAxisY(); - нормализирует отображение по оси Y.
    DKR.DisorientingScreen.normalizAxisXY(); - нормализирует отображение по осям X и Y одновременно.

    Спойлер Код плагина для MV:

    Код:
    /*:
     *-----------------------------------------------------------------------------
     *  DKR DisorientingScreen
     *-----------------------------------------------------------------------------
     *  For: RPGMAKER MV
     *  DKR_DisorientingScreen_MV.js
     *-----------------------------------------------------------------------------
     *  23.05.2021 - Версия 1.0.0
     *-----------------------------------------------------------------------------
     * Поставляется AS-IS.
     * Вся ответственность при использовании - на Пользователе!
     *-----------------------------------------------------------------------------
     *-----------------------------------------------------------------------------
     * @author DarchanKaen
     * @target MV
     * @plugindesc (v.1.0.0) Плагин позволяет инвертировать ("перевернуть") отображение экрана и, соответственно, управление. Текст Сообщения, Выбора и Боя не отображается!!!
     *
     * @help
     *   DKR DisorientingScreen
     * ----------------------------------------------------------------------------
     * ---Общая информация:
     * Плагин позволяет инвентировать ("перевернуть") 
     * отображение экрана и, соответственно, управление.
     * В "инвертированном" варианте текст Сообщения, Выбора
     * и Боя отображается некорректно.
     * Для корректного отображение - нормализируйте
     * отображение экрана соотв-й командой.
     * ---Команды(в эвенте команда "Скрипт"):
     * - Инвертирование ("поворот") отображения экрана:
     * DKR.DisorientingScreen.disorientAxisX();  - инвертирует отображение по оси X.
     * DKR.DisorientingScreen.disorientAxisY();  - инвертирует отображение по оси Y.
     * DKR.DisorientingScreen.disorientAxisXY(); - инвертирует отображение по осям X и Y одновременно.
      - Нормализация отображения экрана:
     * DKR.DisorientingScreen.normalizeAxisX(); - нормализирует отображение по оси X.
     * DKR.DisorientingScreen.normalizAxisY();  - нормализирует отображение по оси Y.
     * DKR.DisorientingScreen.normalizAxisXY(); - нормализирует отображение по осям X и Y одновременно.
     * ----------------------------------------------------------------------------
    */ 
    var Imported = Imported || {};
    Imported.DKR_DisorientingScreen = true;
    
    var DKR = DKR || {};          
    DKR.DisorientingScreen = DKR.DisorientingScreen || {}; 
    
    ( () => {
    DKR.DisorientingScreen.version = 1.0;
    
    DKR.DisorientingScreen.isDisorientAxisX = false;
    DKR.DisorientingScreen.isDisorientAxisY = false;
    
    
    DKR.DisorientingScreen.disorientAxisX = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Base.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    		this.scale.x = -1;
    		this.position.x += Graphics._width;
    	};
    	SceneManager._scene.scale.x = -1;
    	SceneManager._scene.position.x += Graphics._width;
    
    	
    	DKR.DisorientingScreen.isDisorientAxisX = true;
    }
    
    DKR.DisorientingScreen.disorientAxisY = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Base.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    		this.scale.y = -1;
    		this.position.y += Graphics._height;
    	};
    	SceneManager._scene.scale.y = -1;
    	SceneManager._scene.position.y += Graphics._height;
    	
    	DKR.DisorientingScreen.isDisorientAxisY = true;
    }
    
    DKR.DisorientingScreen.disorientAxisXY = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Base.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    		this.scale.x = -1;
    		this.scale.y = -1;
    		this.position.x += Graphics._width;
    		this.position.y += Graphics._height;
    	};
    	SceneManager._scene.scale.x = -1;
    	SceneManager._scene.position.x += Graphics._width;
    	SceneManager._scene.scale.y = -1;
    	SceneManager._scene.position.y += Graphics._height;
    	
    	DKR.DisorientingScreen.isDisorientAxisX = true;
    	DKR.DisorientingScreen.isDisorientAxisY = true;
    }
    
    
    
    DKR.DisorientingScreen.normalizeAxisX = function(){
    	if (false === DKR.DisorientingScreen.isDisorientAxisY){
    		Scene_Map.prototype.start = function() {
    			Scene_Base.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    		};
    	}else if (true === DKR.DisorientingScreen.isDisorientAxisY){
    		Scene_Map.prototype.start = function() {
    			Scene_Base.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    			this.scale.y = -1;
    			this.position.y += Graphics._height;
    		};
    	}
    	DKR.DisorientingScreen.isDisorientAxisX = false;
    	
    	SceneManager.push(Scene_Map);
    }
    
    DKR.DisorientingScreen.normalizeAxisY = function(){
    	if (false === DKR.DisorientingScreen.isDisorientAxisX){
    		Scene_Map.prototype.start = function() {
    			Scene_Base.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    		};
    	}else if (true === DKR.DisorientingScreen.isDisorientAxisX){
    		Scene_Map.prototype.start = function() {
    			Scene_Base.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    			this.scale.x = -1;
    			this.position.x += Graphics._width;
    		};
    	}
    	DKR.DisorientingScreen.isDisorientAxisY = false;
    	
    	SceneManager.push(Scene_Map);
    }
    
    DKR.DisorientingScreen.normalizeAxisXY = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Base.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    	};
    	DKR.DisorientingScreen.isDisorientAxisX = false;
    	DKR.DisorientingScreen.isDisorientAxisY = false;
    	
    	SceneManager.push(Scene_Map);
    }
    
    })();

    Спойлер Код плагина для MZ:

    Код:
    /*:
     *-----------------------------------------------------------------------------
     *  DKR DisorientingScreen
     *-----------------------------------------------------------------------------
     *  For: RPGMAKER MZ
     *  DKR_DisorientingScreen_MZ.js
     *-----------------------------------------------------------------------------
     *  23.05.2021 - Версия 1.0.0
     *-----------------------------------------------------------------------------
     * Поставляется AS-IS.
     * Вся ответственность при использовании - на Пользователе!
     *-----------------------------------------------------------------------------
     *-----------------------------------------------------------------------------
     * @author DarchanKaen
     * @target MZ
     * @plugindesc (v.1.0.0) Плагин позволяет инвертировать ("перевернуть") отображение экрана и, соответственно, управление. Текст Сообщения, Выбора и Боя не отображается!!!
     *
     * @help
     *   DKR DisorientingScreen
     * ----------------------------------------------------------------------------
     * ---Общая информация:
     * Плагин позволяет инвентировать ("перевернуть") 
     * отображение экрана и, соответственно, управление.
     * В "инвертированном" варианте текст Сообщения, Выбора
     * и Боя отображается некорректно.
     * Для корректного отображение - нормализируйте
     * отображение экрана соотв-й командой.
     * ---Команды(в эвенте команда "Скрипт"):
     * - Инвертирование ("поворот") отображения экрана:
     * DKR.DisorientingScreen.disorientAxisX();  - инвертирует отображение по оси X.
     * DKR.DisorientingScreen.disorientAxisY();  - инвертирует отображение по оси Y.
     * DKR.DisorientingScreen.disorientAxisXY(); - инвертирует отображение по осям X и Y одновременно.
      - Нормализация отображения экрана:
     * DKR.DisorientingScreen.normalizeAxisX(); - нормализирует отображение по оси X.
     * DKR.DisorientingScreen.normalizAxisY();  - нормализирует отображение по оси Y.
     * DKR.DisorientingScreen.normalizAxisXY(); - нормализирует отображение по осям X и Y одновременно.
     * ----------------------------------------------------------------------------
    */ 
    var Imported = Imported || {};
    Imported.DKR_DisorientingScreen = true;
    
    var DKR = DKR || {};          
    DKR.DisorientingScreen = DKR.DisorientingScreen || {}; 
    
    ( () => {
    DKR.DisorientingScreen.version = 1.0;
    
    DKR.DisorientingScreen.isDisorientAxisX = false;
    DKR.DisorientingScreen.isDisorientAxisY = false;
    
    
    DKR.DisorientingScreen.disorientAxisX = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Message.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    		this.scale.x = -1;
    		this.position.x += Graphics._width;
    	};
    	SceneManager._scene.scale.x = -1;
    	SceneManager._scene.position.x += Graphics._width;
    
    	
    	DKR.DisorientingScreen.isDisorientAxisX = true;
    }
    
    DKR.DisorientingScreen.disorientAxisY = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Message.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    		this.scale.y = -1;
    		this.position.y += Graphics._height;
    	};
    	SceneManager._scene.scale.y = -1;
    	SceneManager._scene.position.y += Graphics._height;
    	
    	DKR.DisorientingScreen.isDisorientAxisY = true;
    }
    
    DKR.DisorientingScreen.disorientAxisXY = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Message.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    		this.scale.x = -1;
    		this.scale.y = -1;
    		this.position.x += Graphics._width;
    		this.position.y += Graphics._height;
    	};
    	SceneManager._scene.scale.x = -1;
    	SceneManager._scene.position.x += Graphics._width;
    	SceneManager._scene.scale.y = -1;
    	SceneManager._scene.position.y += Graphics._height;
    	
    	DKR.DisorientingScreen.isDisorientAxisX = true;
    	DKR.DisorientingScreen.isDisorientAxisY = true;
    }
    
    
    
    DKR.DisorientingScreen.normalizeAxisX = function(){
    	if (false === DKR.DisorientingScreen.isDisorientAxisY){
    		Scene_Map.prototype.start = function() {
    			Scene_Message.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    		};
    	}else if (true === DKR.DisorientingScreen.isDisorientAxisY){
    		Scene_Map.prototype.start = function() {
    			Scene_Message.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    			this.scale.y = -1;
    			this.position.y += Graphics._height;
    		};
    	}
    	DKR.DisorientingScreen.isDisorientAxisX = false;
    	
    	SceneManager.push(Scene_Map);
    }
    
    DKR.DisorientingScreen.normalizeAxisY = function(){
    	if (false === DKR.DisorientingScreen.isDisorientAxisX){
    		Scene_Map.prototype.start = function() {
    			Scene_Message.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    		};
    	}else if (true === DKR.DisorientingScreen.isDisorientAxisX){
    		Scene_Map.prototype.start = function() {
    			Scene_Message.prototype.start.call(this);
    			SceneManager.clearStack();
    			if (this._transfer) {
    				this.fadeInForTransfer();
    				this.onTransferEnd();
    			} else if (this.needsFadeIn()) {
    				this.startFadeIn(this.fadeSpeed(), false);
    			}
    			this.menuCalling = false;
    			this.scale.x = -1;
    			this.position.x += Graphics._width;
    		};
    	}
    	DKR.DisorientingScreen.isDisorientAxisY = false;
    	
    	SceneManager.push(Scene_Map);
    }
    
    DKR.DisorientingScreen.normalizeAxisXY = function(){
    	Scene_Map.prototype.start = function() {
    		Scene_Message.prototype.start.call(this);
    		SceneManager.clearStack();
    		if (this._transfer) {
    			this.fadeInForTransfer();
    			this.onTransferEnd();
    		} else if (this.needsFadeIn()) {
    			this.startFadeIn(this.fadeSpeed(), false);
    		}
    		this.menuCalling = false;
    	};
    	DKR.DisorientingScreen.isDisorientAxisX = false;
    	DKR.DisorientingScreen.isDisorientAxisY = false;
    	
    	SceneManager.push(Scene_Map);
    }
    
    })();


    Спойлер Как это выглядит в игре:







    Условия поставки плагина:
    Поставляется AS-IS.
    Вся ответственность при использовании - на Пользователе!
    !

    Совместимость с другими плагинами Автор не гарантирует!

    Спойлер Лирическое отступление:
    Делал для своего проекта, чтоб вручную не перерисовывать графику при "перевороте" экрана.
    Перевернуть экран можно и просто "скриптом", но тогда после вызова меню (или любой другой Сцены) инвертирование экрана сбрасывается - тут это поправил.
    Последний раз редактировалось Darchan Kaen; 23.05.2021 в 18:17.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
[MV + MZ]DKR_DisorientingScreen